Improve large-library imports and recovery - #141
Conversation
Add dependency previews and explicit confirmation for configuration-only root removal without touching files or folders. Revalidate dependencies before deletion and protect referenced roots with restrictive foreign keys. Preserve removed destinations in import history, prevent silent retry fallback, and retain existing data through SQLite migration and downgrade paths. Include API, service, migration, and browser regression coverage plus usage documentation.
Keep started books visibly in progress when whole-number percentage calculation would otherwise round below one percent. Share the calculation between persisted reader state and reading query projections, with dashboard regression coverage for thousand-page books.
Quarantine unrecorded files that conflict with their Mylar folder identity, including deferred ComicInfo evidence, while preserving authoritative Mylar issue records. Make ComicVine hydration rate-limit resilient, expose retryable archive failures, classify empty archives accurately, and report completed-import follow-up counts truthfully.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4a1a6e5ef1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5127b6211c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dce2d8805f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
pullbox/src/pullbox/core/file_ops.py
Lines 1164 to 1165 in d1fd907
When a previously hashed library file is replaced with different bytes—particularly when clean-library adoption normalizes an archive or rewrites ComicInfo—this update preserves the old file_hash while refreshing the path, size, modification time, and source signature. Subsequent integrity exports and Story Arc sync work therefore treat the old content checksum as belonging to the replacement; clear the hash or recompute it from final_path whenever the row is reused.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. 👍 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Validation
make ci-fullNotes
The local import acceptance lab remains intentionally excluded from this PR.